package com.itheima.d6_map;

/**
 * 目标：掌握Map集合的常用方法
 */

import java.util.HashMap;
import java.util.Map;

/**
 * 目标：掌握Map集合的常用方法(重点)
 */
public class MapTest2API {
    public static void main(String[] args) {
        Map<String,String> map= new HashMap<>();
        // 1.public V put(K v,V v) 添加元素: 无序，不重复，无索引。
        //如果第一次put键值对数据，返回null，如果存在的再次put，返回的就是对应的值
        map.put("樊凯","真屌");
        map.put("樊凯","真屌");
        map.put("樊凯","超屌");
        System.out.println(map);
        // 2.public int size():获取集合的大小
        System.out.println(map.size());
        // 3、public void clear():清空集合
        //map.clear();
        // 4.public boolean isEmpty(): 判断集合是否为空，为空返回true ,反之！
        System.out.println(map.isEmpty());
        // 5.public V get(Object key)：根据键获取对应值
        System.out.println(map.get("樊凯"));
        // 6. public V remove(Object key)：根据键删除整个元素(删除键会返回键的值)
        System.out.println(map.remove("樊凯"));
        // 7.public  boolean containsKey(Object key): 判断是否包含某个键 ，包含返回true ,反之
        System.out.println(map.containsKey("樊凯"));
        // 8.public boolean containsValue(Object value): 判断是否包含某个值。
        System.out.println(map.containsValue("超屌"));
        // 9.public Set<K> keySet(): 获取Map集合的全部键。
        map.put("樊凯","真屌");
        map.put("樊凯1","真屌");
        map.put("樊凯2","超屌");
        System.out.println(map.keySet());
        // 10.public Collection<V> values(); 获取Map集合的全部值。
        System.out.println(map.values());
        // 11.把其他Map集合的数据倒入到自己集合中来。(拓展)
        Map<String,String> names = new HashMap<>();
        names.putAll(map);
        System.out.println(names);
    }
}
